package com.cysoft.third.echarts.component.calendar;

import lombok.Data;

/**
 * @author 玖零
 * @version v0.0.1
 * @project cysoft-third-echarts
 * @package com.cysoft.third.echarts.component.calendar
 * @date 2025/3/12 17:15
 * @desc 日历分隔线的样式设置
 */
@Data
public class CalendarLineStyle {

    /**
     * 分隔线的颜色，默认为 '#000'
     */
    private String color = "#000";

    /**
     * 分隔线线宽，默认为 1
     */
    private Integer width = 1;

    /**
     * 线的类型。可选值：'solid'、'dashed'、'dotted'，也可以是 number 或者 number 数组，默认为 'solid'
     */
    private Object type = "solid";

    /**
     * 从 v5.0.0 开始支持，用于设置虚线的偏移量，可搭配 type 指定 dash array 实现灵活的虚线效果
     */
    private Integer dashOffset;

    /**
     * 从 v5.0.0 开始支持，用于指定线段末端的绘制方式，可选值：'butt'、'round'、'square'，默认为 'butt'
     */
    private String cap = "butt";

    /**
     * 从 v5.0.0 开始支持，用于设置2个长度不为0的相连部分如何连接在一起，可选值：'bevel'、'round'、'miter'，默认为 'bevel'
     */
    private String join = "bevel";

    /**
     * 从 v5.0.0 开始支持，用于设置斜接面限制比例，只有当 join 为 miter 时才有效，默认为 10
     */
    private Integer miterLimit = 10;

    /**
     * 图形阴影的模糊大小，配合 shadowColor、shadowOffsetX、shadowOffsetY 一起设置图形的阴影效果
     */
    private Integer shadowBlur;

    /**
     * 阴影颜色，支持的格式同 color
     */
    private String shadowColor;

    /**
     * 阴影水平方向上的偏移距离
     */
    private Integer shadowOffsetX;

    /**
     * 阴影垂直方向上的偏移距离
     */
    private Integer shadowOffsetY;

    /**
     * 图形透明度，支持从 0 到 1 的数字，为 0 时不绘制该图形，默认为 1
     */
    private Double opacity = 1.0;
}
